/*******************************************************************************
* Project: QSAR(Cute Software Architecture) 
*
* Copyright: Copyright(C) 2024 by YuetingBen, All Rights Reserved
*
* File name: PduRRte.h
*
* Brief: ;
*
* Author: Yueting.Ben
*
* Module: PduR
*
*******************************************************************************/

#ifndef PDURRTE_H
#define PDURRTE_H

/** HEADER FILES **/


/** GLOBAL FUNCTION DECLARATION **/
extern BufReq_ReturnType Dcm_StartOfReception(
    PduIdType id,
    const PduInfoType* info,
    PduLengthType TpSduLength,
    PduLengthType* bufferSizePtr
);

extern BufReq_ReturnType Dcm_CopyRxData(
    PduIdType id,
    const PduInfoType* info,
    PduLengthType* bufferSizePtr
);

extern BufReq_ReturnType Dcm_CopyTxData(
    PduIdType id,
    const PduInfoType* info,
    const RetryInfoType* retry,
    PduLengthType* availableDataPtr
);

extern void Dcm_TpRxIndication(
    PduIdType id,
    Std_ReturnType result
);

extern void Dcm_TpTxConfirmation(
    PduIdType id,
    Std_ReturnType result
);

extern Std_ReturnType CanTp_Transmit(
    PduIdType TxPduId,
    const PduInfoType* PduInfoPtr
);

extern void Com_RxIndication(
    PduIdType RxPduId, 
    const PduInfoType* PduInfoPtr
);

extern void Com_TxConfirmation(
    PduIdType TxPduId, 
    Std_ReturnType result
);

extern Std_ReturnType CanIf_Transmit (
    PduIdType TxPduId,
    const PduInfoType* PduInfoPtr
);


#endif
